/*****************************************************************************************
 * ETS
 * 
 * Cours:		LOG121
 * Session:		A2013
 * Groupe:		04
 * Projet:		Laboratoire #4
 * Etudiants:	Frederic-Simon Mimeault
 * 				Francisco Felipe Quilodran
 * 				Guillaume Longtin
 * 				William Proulx
 * 
 * Professeur:	Francis Cardinal
 * 
 * Fichier:		CmdTranslation.java
 *
 * Date de creation:	2013-11-23
 * Date dern. modif.:	2013-11-25
 * ****************************************************************************************
 * Historique des modifications
 * ****************************************************************************************
 * 2013-11-23 Version initiale
 *****************************************************************************************/

package modele;

import java.awt.Point;

/**
 * Classe concrète qui défini les informations d'une translation.
 * @author Frédéric-Simon & Guillaume Longtin
 *
 */
public class CmdTranslation extends AbstractCommande {
	
	private Perspective perspective;			// Perspective sur laquelle effectuer la commande
	private final int deplacementX;				// Valeur du deplacement en X
	private final int deplacementY;				// Valeur du deplacement en Y
	
	/**
	 * Constructeur de la classe CmdTranslation qui construit une commande de translation
	 * selon les paramètres de déplacement fournis.
	 * @param deplacementX Valeur du deplacement en X
	 * @param deplacementY Valeur du deplacement en Y
	 */
	public CmdTranslation(Perspective perspective, int deplacementX, int deplacementY) {
		
		this.perspective = perspective;
		this.deplacementX = deplacementX;
		this.deplacementY = deplacementY;
		
	}
	
	@Override
	public void execute() {
		
		this.perspective.transposer(deplacementX, deplacementY);
		
	}
	
	@Override
	public void undo() {
		
		this.perspective.transposer(-deplacementX, -deplacementY);
		
	}

}
